package com.cnap.model.strategy;

import com.cnap.model.application.DeployResourceInfo;
import com.cnap.model.strategy.scale.ScaleStrategyVO;
import com.cnap.model.strategy.schedule.ScheduleStrategyVO;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.time.LocalDateTime;
import java.util.List;

/**
 * <类文件描述>
 *
 * @author xc
 **/
public class StrategyVO {
    private String appId;
    private String svcId;
    private String appName;
    private String svcName;
    private String size;
    private String provider;
    private String status;
    private String category;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updateTime;
    private ScheduleStrategyVO scheduleStrategy;
    private List<ScaleStrategyVO> scaleStrategy;
    private DeployResourceInfo deployResourceInfo;

    /**
     * get
     *
     * @return DeployResourceInfo
     */
    public DeployResourceInfo getDeployResourceInfo() {
        return deployResourceInfo;
    }

    /**
     * set
     *
     * @param deployResourceInfo deployResourceInfo
     */
    public void setDeployResourceInfo(DeployResourceInfo deployResourceInfo) {
        this.deployResourceInfo = deployResourceInfo;
    }

    /**
     * get
     *
     * @return AppId
     */
    public String getAppId() {
        return appId;
    }

    /**
     * set
     *
     * @param appId appId
     */
    public void setAppId(String appId) {
        this.appId = appId;
    }

    /**
     * get
     *
     * @return SvcId
     */
    public String getSvcId() {
        return svcId;
    }

    /**
     * set
     *
     * @param svcId svcId
     */
    public void setSvcId(String svcId) {
        this.svcId = svcId;
    }

    /**
     * get
     *
     * @return AppName
     */
    public String getAppName() {
        return appName;
    }

    /**
     * set
     *
     * @param appName appName
     */
    public void setAppName(String appName) {
        this.appName = appName;
    }

    /**
     * get
     *
     * @return SvcName
     */
    public String getSvcName() {
        return svcName;
    }

    /**
     * set
     *
     * @param svcName svcName
     */
    public void setSvcName(String svcName) {
        this.svcName = svcName;
    }

    /**
     * get
     *
     * @return Size
     */
    public String getSize() {
        return size;
    }

    /**
     * set
     *
     * @param size size
     */
    public void setSize(String size) {
        this.size = size;
    }

    /**
     * get
     *
     * @return Provider
     */
    public String getProvider() {
        return provider;
    }

    /**
     * set
     *
     * @param provider provider
     */
    public void setProvider(String provider) {
        this.provider = provider;
    }

    /**
     * get
     *
     * @return Status
     */
    public String getStatus() {
        return status;
    }

    /**
     * set
     *
     * @param status status
     */
    public void setStatus(String status) {
        this.status = status;
    }

    /**
     * get
     *
     * @return Category
     */
    public String getCategory() {
        return category;
    }

    /**
     * set
     *
     * @param category category
     */
    public void setCategory(String category) {
        this.category = category;
    }

    /**
     * get
     *
     * @return UpdateTime
     */
    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    /**
     * set
     *
     * @param updateTime updateTime
     */
    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * get
     *
     * @return ScheduleStrategy
     */
    public ScheduleStrategyVO getScheduleStrategy() {
        return scheduleStrategy;
    }

    /**
     * set
     *
     * @param scheduleStrategy scheduleStrategy
     */
    public void setScheduleStrategy(ScheduleStrategyVO scheduleStrategy) {
        this.scheduleStrategy = scheduleStrategy;
    }

    /**
     * get
     *
     * @return ScaleStrategy
     */
    public List<ScaleStrategyVO> getScaleStrategy() {
        return scaleStrategy;
    }

    /**
     * set
     *
     * @param scaleStrategy scaleStrategy
     */
    public void setScaleStrategy(List<ScaleStrategyVO> scaleStrategy) {
        this.scaleStrategy = scaleStrategy;
    }
}
